[INFO] cloning repository https://github.com/codefinity/c-sharp-to-rust-learning
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/codefinity/c-sharp-to-rust-learning" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcodefinity%2Fc-sharp-to-rust-learning", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcodefinity%2Fc-sharp-to-rust-learning'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 96d5fb7377a6b69cca656b8274fbf667a9036a7c
[INFO] fixing codefinity/c-sharp-to-rust-learning against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=start=2015 for pr-157817-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcodefinity%2Fc-sharp-to-rust-learning" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/codefinity/c-sharp-to-rust-learning
[INFO] finished tweaking git repo https://github.com/codefinity/c-sharp-to-rust-learning
[INFO] tweaked toml for git repo https://github.com/codefinity/c-sharp-to-rust-learning written to /workspace/builds/worker-5-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/codefinity/c-sharp-to-rust-learning on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/codefinity/c-sharp-to-rust-learning already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] c758e264d3a5b761a8d49ade8b6ba860b5b4d9fb8edd3ec88058e1a41b115c4e
[INFO] running `Command { std: "docker" "start" "c758e264d3a5b761a8d49ade8b6ba860b5b4d9fb8edd3ec88058e1a41b115c4e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "c758e264d3a5b761a8d49ade8b6ba860b5b4d9fb8edd3ec88058e1a41b115c4e" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "c758e264d3a5b761a8d49ade8b6ba860b5b4d9fb8edd3ec88058e1a41b115c4e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "c758e264d3a5b761a8d49ade8b6ba860b5b4d9fb8edd3ec88058e1a41b115c4e" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=start=2015", kill_on_drop: false }`
[INFO] [stderr]     Checking tokio v1.52.3
[INFO] [stderr]    Compiling zerocopy-derive v0.8.48
[INFO] [stderr]     Checking regex-automata v0.4.14
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]     Checking futures-util v0.3.32
[INFO] [stderr]     Checking bit-vec v0.8.0
[INFO] [stderr]     Checking quick-error v1.2.3
[INFO] [stderr]     Checking rand_xorshift v0.4.0
[INFO] [stderr]     Checking unarray v0.1.4
[INFO] [stderr]     Checking itertools v0.10.5
[INFO] [stderr]     Checking rayon v1.12.0
[INFO] [stderr]     Checking is-terminal v0.4.17
[INFO] [stderr]     Checking cli_apps v0.1.0 (/opt/rustwide/workdir/19_cli_apps)
[INFO] [stderr]     Checking error_handling v0.1.0 (/opt/rustwide/workdir/07_error_handling)
[INFO] [stderr]     Checking rusty-fork v0.3.1
[INFO] [stderr]     Checking axum-core v0.5.6
[INFO] [stdout] warning: unused import: `BufRead`
[INFO] [stdout]   --> 19_cli_apps/src/bin/file_tool.rs:17:21
[INFO] [stdout]    |
[INFO] [stdout] 17 | use std::io::{self, BufRead, Read};
[INFO] [stdout]    |                     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking tower-http v0.6.10
[INFO] [stdout] warning: unused import: `BufRead`
[INFO] [stdout]   --> 19_cli_apps/src/bin/file_tool.rs:17:21
[INFO] [stdout]    |
[INFO] [stdout] 17 | use std::io::{self, BufRead, Read};
[INFO] [stdout]    |                     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking bit-set v0.8.0
[INFO] [stdout] warning: variant `MissingField` is never constructed
[INFO] [stdout]   --> 07_error_handling/src/bin/thiserror_example.rs:48:5
[INFO] [stdout]    |
[INFO] [stdout] 46 | enum ConfigError {
[INFO] [stdout]    |      ----------- variant in this enum
[INFO] [stdout] 47 |     #[error("missing field: {field}")]
[INFO] [stdout] 48 |     MissingField { field: String },
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ConfigError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Database` and `Timeout` are never constructed
[INFO] [stdout]    --> 07_error_handling/src/bin/thiserror_example.rs:119:5
[INFO] [stdout]     |
[INFO] [stdout] 114 | enum AppError {
[INFO] [stdout]     |      -------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 119 |     Database { message: String },
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 122 |     Timeout { seconds: u64 },
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AppError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `InvalidFormat` is never constructed
[INFO] [stdout]    --> 07_error_handling/src/bin/thiserror_example.rs:161:5
[INFO] [stdout]     |
[INFO] [stdout] 153 | enum ValidationError {
[INFO] [stdout]     |      --------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 161 |     InvalidFormat { field: String, message: String },
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ValidationError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `MissingField` is never constructed
[INFO] [stdout]   --> 07_error_handling/src/bin/thiserror_example.rs:48:5
[INFO] [stdout]    |
[INFO] [stdout] 46 | enum ConfigError {
[INFO] [stdout]    |      ----------- variant in this enum
[INFO] [stdout] 47 |     #[error("missing field: {field}")]
[INFO] [stdout] 48 |     MissingField { field: String },
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ConfigError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Database` and `Timeout` are never constructed
[INFO] [stdout]    --> 07_error_handling/src/bin/thiserror_example.rs:119:5
[INFO] [stdout]     |
[INFO] [stdout] 114 | enum AppError {
[INFO] [stdout]     |      -------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 119 |     Database { message: String },
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 122 |     Timeout { seconds: u64 },
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AppError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `InvalidFormat` is never constructed
[INFO] [stdout]    --> 07_error_handling/src/bin/thiserror_example.rs:161:5
[INFO] [stdout]     |
[INFO] [stdout] 153 | enum ValidationError {
[INFO] [stdout]     |      --------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 161 |     InvalidFormat { field: String, message: String },
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ValidationError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]    --> 07_error_handling/src/bin/result_patterns.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking advanced_patterns v0.1.0 (/opt/rustwide/workdir/21_advanced_patterns)
[INFO] [stdout] warning: method `append` is never used
[INFO] [stdout]    --> 21_advanced_patterns/src/bin/type_state.rs:146:8
[INFO] [stdout]     |
[INFO] [stdout] 141 | impl FileWriter<HasPath> {
[INFO] [stdout]     | ------------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 146 |     fn append(mut self, a: bool) -> Self {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `read` is never used
[INFO] [stdout]    --> 21_advanced_patterns/src/bin/type_state.rs:212:8
[INFO] [stdout]     |
[INFO] [stdout] 211 | impl GuardedData<WriteLocked> {
[INFO] [stdout]     | ----------------------------- method in this implementation
[INFO] [stdout] 212 |     fn read(&self) -> i32 { self.value }
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `append` is never used
[INFO] [stdout]    --> 21_advanced_patterns/src/bin/type_state.rs:146:8
[INFO] [stdout]     |
[INFO] [stdout] 141 | impl FileWriter<HasPath> {
[INFO] [stdout]     | ------------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 146 |     fn append(mut self, a: bool) -> Self {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `read` is never used
[INFO] [stdout]    --> 21_advanced_patterns/src/bin/type_state.rs:212:8
[INFO] [stdout]     |
[INFO] [stdout] 211 | impl GuardedData<WriteLocked> {
[INFO] [stdout]     | ----------------------------- method in this implementation
[INFO] [stdout] 212 |     fn read(&self) -> i32 { self.value }
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking ffi_and_interop v0.1.0 (/opt/rustwide/workdir/17_ffi_and_interop)
[INFO] [stdout] warning: fields `max_retries`, `user_agent`, and `bearer_token` are never read
[INFO] [stdout]   --> 21_advanced_patterns/src/bin/builder_pattern.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 29 | struct HttpClient {
[INFO] [stdout]    |        ---------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 32 |     max_retries: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 33 |     user_agent: String,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 34 |     bearer_token: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `HttpClient` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `host`, `port`, `workers`, and `tls` are never read
[INFO] [stdout]    --> 21_advanced_patterns/src/bin/builder_pattern.rs:111:5
[INFO] [stdout]     |
[INFO] [stdout] 110 | struct ServerConfig {
[INFO] [stdout]     |        ------------ fields in this struct
[INFO] [stdout] 111 |     host: String,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 112 |     port: u16,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 113 |     workers: usize,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 114 |     tls: bool,
[INFO] [stdout]     |     ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ServerConfig` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `workers` is never used
[INFO] [stdout]    --> 21_advanced_patterns/src/bin/builder_pattern.rs:155:8
[INFO] [stdout]     |
[INFO] [stdout] 135 | impl ServerConfigBuilder {
[INFO] [stdout]     | ------------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 155 |     fn workers(mut self, n: usize) -> Self {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Kilograms` is never constructed
[INFO] [stdout]   --> 21_advanced_patterns/src/bin/newtype_pattern.rs:35:8
[INFO] [stdout]    |
[INFO] [stdout] 35 | struct Kilograms(f64);
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `as_str` is never used
[INFO] [stdout]   --> 21_advanced_patterns/src/bin/newtype_pattern.rs:94:8
[INFO] [stdout]    |
[INFO] [stdout] 84 | impl EmailAddress {
[INFO] [stdout]    | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 94 |     fn as_str(&self) -> &str {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Cancelled` is never constructed
[INFO] [stdout]   --> 21_advanced_patterns/src/bin/state_machine.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 28 | enum OrderStatus {
[INFO] [stdout]    |      ----------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 33 |     Cancelled { reason: String },
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `OrderStatus` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `cancel` is never used
[INFO] [stdout]   --> 21_advanced_patterns/src/bin/state_machine.rs:66:8
[INFO] [stdout]    |
[INFO] [stdout] 36 | impl OrderStatus {
[INFO] [stdout]    | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 66 |     fn cancel(self, reason: impl Into<String>) -> Result<Self, String> {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Send` is never constructed
[INFO] [stdout]    --> 21_advanced_patterns/src/bin/state_machine.rs:179:5
[INFO] [stdout]     |
[INFO] [stdout] 175 | enum TcpEvent {
[INFO] [stdout]     |      -------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 179 |     Send,          // application sends data
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TcpEvent` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `base_url`, `timeout`, `max_retries`, `user_agent`, and `bearer_token` are never read
[INFO] [stdout]   --> 21_advanced_patterns/src/bin/builder_pattern.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 29 | struct HttpClient {
[INFO] [stdout]    |        ---------- fields in this struct
[INFO] [stdout] 30 |     base_url: String,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 31 |     timeout: Duration,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 32 |     max_retries: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 33 |     user_agent: String,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 34 |     bearer_token: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `HttpClient` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `host`, `port`, `workers`, and `tls` are never read
[INFO] [stdout]    --> 21_advanced_patterns/src/bin/builder_pattern.rs:111:5
[INFO] [stdout]     |
[INFO] [stdout] 110 | struct ServerConfig {
[INFO] [stdout]     |        ------------ fields in this struct
[INFO] [stdout] 111 |     host: String,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 112 |     port: u16,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 113 |     workers: usize,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 114 |     tls: bool,
[INFO] [stdout]     |     ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ServerConfig` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `workers` is never used
[INFO] [stdout]    --> 21_advanced_patterns/src/bin/builder_pattern.rs:155:8
[INFO] [stdout]     |
[INFO] [stdout] 135 | impl ServerConfigBuilder {
[INFO] [stdout]     | ------------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 155 |     fn workers(mut self, n: usize) -> Self {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking memory_management_and_smart_pointers v0.1.0 (/opt/rustwide/workdir/12_memory_management_and_smart_pointers)
[INFO] [stderr]     Checking syntax_and_basic_types v0.1.0 (/opt/rustwide/workdir/02_syntax_and_basic_types)
[INFO] [stderr]     Checking closures_and_functional_patterns v0.1.0 (/opt/rustwide/workdir/09_closures_and_functional_patterns)
[INFO] [stderr]     Checking collections_and_iterators v0.1.0 (/opt/rustwide/workdir/08_collections_and_iterators)
[INFO] [stdout] warning: variant `Cancelled` is never constructed
[INFO] [stdout]   --> 21_advanced_patterns/src/bin/state_machine.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 28 | enum OrderStatus {
[INFO] [stdout]    |      ----------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 33 |     Cancelled { reason: String },
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `OrderStatus` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `cancel` is never used
[INFO] [stdout]   --> 21_advanced_patterns/src/bin/state_machine.rs:66:8
[INFO] [stdout]    |
[INFO] [stdout] 36 | impl OrderStatus {
[INFO] [stdout]    | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 66 |     fn cancel(self, reason: impl Into<String>) -> Result<Self, String> {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Send` is never constructed
[INFO] [stdout]    --> 21_advanced_patterns/src/bin/state_machine.rs:179:5
[INFO] [stdout]     |
[INFO] [stdout] 175 | enum TcpEvent {
[INFO] [stdout]     |      -------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 179 |     Send,          // application sends data
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TcpEvent` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Kilograms` is never constructed
[INFO] [stdout]   --> 21_advanced_patterns/src/bin/newtype_pattern.rs:35:8
[INFO] [stdout]    |
[INFO] [stdout] 35 | struct Kilograms(f64);
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `as_str` is never used
[INFO] [stdout]   --> 21_advanced_patterns/src/bin/newtype_pattern.rs:94:8
[INFO] [stdout]    |
[INFO] [stdout] 84 | impl EmailAddress {
[INFO] [stdout]    | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 94 |     fn as_str(&self) -> &str {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking unsafe_rust v0.1.0 (/opt/rustwide/workdir/16_unsafe_rust)
[INFO] [stderr]     Checking getting_started v0.1.0 (/opt/rustwide/workdir/01_getting_started)
[INFO] [stdout] warning: irrefutable `if let` pattern
[INFO] [stdout]    --> 02_syntax_and_basic_types/src/bin/compound_types.rs:142:8
[INFO] [stdout]     |
[INFO] [stdout] 142 |     if let [first, .., last] = data {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this pattern will always match, so the `if let` is useless
[INFO] [stdout]     = help: consider replacing the `if let` with a `let`
[INFO] [stdout]     = note: `#[warn(irrefutable_let_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: incorrect NaN comparison, NaN cannot be directly compared to itself
[INFO] [stdout]   --> 02_syntax_and_basic_types/src/bin/scalar_types.rs:77:32
[INFO] [stdout]    |
[INFO] [stdout] 77 |     println!("NaN == NaN: {}", f64::NAN == f64::NAN); // false! same as C#
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(invalid_nan_comparisons)]` on by default
[INFO] [stdout] help: use `f32::is_nan()` or `f64::is_nan()` instead
[INFO] [stdout]    |
[INFO] [stdout] 77 -     println!("NaN == NaN: {}", f64::NAN == f64::NAN); // false! same as C#
[INFO] [stdout] 77 +     println!("NaN == NaN: {}", f64::NAN.is_nan()); // false! same as C#
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking references_and_lifetimes v0.1.0 (/opt/rustwide/workdir/04_references_and_lifetimes)
[INFO] [stderr]     Checking traits_generics_and_impl_blocks v0.1.0 (/opt/rustwide/workdir/06_traits_generics_and_impl_blocks)
[INFO] [stdout] warning: fields `val`, `left`, and `right` are never read
[INFO] [stdout]    --> 12_memory_management_and_smart_pointers/src/bin/box_pointer.rs:107:16
[INFO] [stdout]     |
[INFO] [stdout] 107 |         Node { val: i32, left: Box<BTree>, right: Box<BTree> },
[INFO] [stdout]     |         ----   ^^^       ^^^^              ^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         fields in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `BTree` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> 12_memory_management_and_smart_pointers/src/bin/box_pointer.rs:186:26
[INFO] [stdout]     |
[INFO] [stdout] 186 |         enum List { Cons(i32, Box<List>), Nil }
[INFO] [stdout]     |                     ---- ^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `List` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 186 -         enum List { Cons(i32, Box<List>), Nil }
[INFO] [stdout] 186 +         enum List { Cons((), Box<List>), Nil }
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking ownership_borrowing_and_moves v0.1.0 (/opt/rustwide/workdir/03_ownership_borrowing_and_moves)
[INFO] [stdout] warning: method `map_mul` is never used
[INFO] [stdout]    --> 09_closures_and_functional_patterns/src/bin/functional_patterns.rs:177:12
[INFO] [stdout]     |
[INFO] [stdout] 176 |     impl<T: Clone + std::fmt::Debug + std::ops::Mul<Output = T> + Copy + From<i32>> Pipeline<T> {
[INFO] [stdout]     |     ------------------------------------------------------------------------------------------- method in this implementation
[INFO] [stdout] 177 |         fn map_mul(mut self, factor: T) -> Self {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking concurrency_threads_and_channels v0.1.0 (/opt/rustwide/workdir/13_concurrency_threads_and_channels)
[INFO] [stderr]     Checking modules_crates_and_workspaces v0.1.0 (/opt/rustwide/workdir/10_modules_crates_and_workspaces)
[INFO] [stdout] warning: field `data` is never read
[INFO] [stdout]    --> 02_syntax_and_basic_types/src/bin/constants_statics.rs:136:9
[INFO] [stdout]     |
[INFO] [stdout] 135 |     struct Matrix<const R: usize, const C: usize> {
[INFO] [stdout]     |            ------ field in this struct
[INFO] [stdout] 136 |         data: [[f64; C]; R],
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking oop_in_rust v0.1.0 (/opt/rustwide/workdir/23_oop_in_rust)
[INFO] [stdout] warning: unused import: `std::fmt::Display as Displayable`
[INFO] [stdout]   --> 10_modules_crates_and_workspaces/src/bin/modules.rs:59:5
[INFO] [stdout]    |
[INFO] [stdout] 59 | use std::fmt::Display as Displayable;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `bounding_box` is never used
[INFO] [stdout]    --> 06_traits_generics_and_impl_blocks/src/bin/traits.rs:137:8
[INFO] [stdout]     |
[INFO] [stdout] 135 | trait Drawable {
[INFO] [stdout]     |       -------- method in this trait
[INFO] [stdout] 136 |     fn draw(&self);
[INFO] [stdout] 137 |     fn bounding_box(&self) -> (f64, f64, f64, f64); // x, y, w, h
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking macros v0.1.0 (/opt/rustwide/workdir/15_macros)
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> 13_concurrency_threads_and_channels/src/bin/channels.rs:92:9
[INFO] [stdout]    |
[INFO] [stdout] 92 |     let mut workers: Vec<std::thread::JoinHandle<()>> = vec![];
[INFO] [stdout]    |         ----^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: irrefutable `if let` pattern
[INFO] [stdout]    --> 02_syntax_and_basic_types/src/bin/compound_types.rs:142:8
[INFO] [stdout]     |
[INFO] [stdout] 142 |     if let [first, .., last] = data {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this pattern will always match, so the `if let` is useless
[INFO] [stdout]     = help: consider replacing the `if let` with a `let`
[INFO] [stdout]     = note: `#[warn(irrefutable_let_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0`, `1`, and `2` are never read
[INFO] [stdout]   --> 15_macros/src/bin/derive_macros.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 54 |     Custom(u8, u8, u8),
[INFO] [stdout]    |     ------ ^^  ^^  ^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     fields in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Color` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]    |
[INFO] [stdout] 54 -     Custom(u8, u8, u8),
[INFO] [stdout] 54 +     Custom((), (), ()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Red`, `Green`, and `Blue` are never constructed
[INFO] [stdout]   --> 15_macros/src/bin/derive_macros.rs:51:5
[INFO] [stdout]    |
[INFO] [stdout] 50 | enum Color {
[INFO] [stdout]    |      ----- variants in this enum
[INFO] [stdout] 51 |     Red,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 52 |     Green,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 53 |     Blue,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Color` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name` and `retries` are never read
[INFO] [stdout]   --> 15_macros/src/bin/derive_macros.rs:73:5
[INFO] [stdout]    |
[INFO] [stdout] 72 | struct Config {
[INFO] [stdout]    |        ------ fields in this struct
[INFO] [stdout] 73 |     name: String,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 74 |     retries: u32,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Config` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `x` and `y` are never read
[INFO] [stdout]   --> 15_macros/src/bin/derive_macros.rs:79:5
[INFO] [stdout]    |
[INFO] [stdout] 78 | struct Vec2 {
[INFO] [stdout]    |        ---- fields in this struct
[INFO] [stdout] 79 |     x: f32,
[INFO] [stdout]    |     ^
[INFO] [stdout] 80 |     y: f32,
[INFO] [stdout]    |     ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Vec2` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `host` and `max_connections` are never read
[INFO] [stdout]    --> 15_macros/src/bin/derive_macros.rs:134:5
[INFO] [stdout]     |
[INFO] [stdout] 133 | struct ServerConfig {
[INFO] [stdout]     |        ------------ fields in this struct
[INFO] [stdout] 134 |     host: String,             // default: ""
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 135 |     port: u16,                // default: 0
[INFO] [stdout] 136 |     max_connections: usize,   // default: 0
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ServerConfig` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `host`, `port`, and `timeout_secs` are never read
[INFO] [stdout]    --> 15_macros/src/bin/derive_macros.rs:143:5
[INFO] [stdout]     |
[INFO] [stdout] 142 | struct HttpConfig {
[INFO] [stdout]     |        ---------- fields in this struct
[INFO] [stdout] 143 |     host: String,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 144 |     port: u16,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 145 |     timeout_secs: u64,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `HttpConfig` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `documented_fn` is never used
[INFO] [stdout]    --> 15_macros/src/bin/derive_macros.rs:224:4
[INFO] [stdout]     |
[INFO] [stdout] 224 | fn documented_fn() {}
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]    --> 15_macros/src/bin/macro_rules.rs:179:20
[INFO] [stdout]     |
[INFO] [stdout] 179 |                   Ok(v) => { _success = true; break; }
[INFO] [stdout]     |                      ^
[INFO] [stdout] ...
[INFO] [stdout] 197 | /     retry!(3, {
[INFO] [stdout] 198 | |         attempt += 1;
[INFO] [stdout] 199 | |         if attempt < 3 {
[INFO] [stdout] 200 | |             Err(format!("attempt {attempt} failed"))
[INFO] [stdout] ...   |
[INFO] [stdout] 205 | |     });
[INFO] [stdout]     | |______- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] help: `v` is captured in macro and introduced a unused variable
[INFO] [stdout]    --> 15_macros/src/bin/macro_rules.rs:179:20
[INFO] [stdout]     |
[INFO] [stdout] 179 |                   Ok(v) => { _success = true; break; }
[INFO] [stdout]     |                      ^
[INFO] [stdout] ...
[INFO] [stdout] 197 | /     retry!(3, {
[INFO] [stdout] 198 | |         attempt += 1;
[INFO] [stdout] 199 | |         if attempt < 3 {
[INFO] [stdout] 200 | |             Err(format!("attempt {attempt} failed"))
[INFO] [stdout] ...   |
[INFO] [stdout] 205 | |     });
[INFO] [stdout]     | |______- in this macro invocation
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout]     = note: this warning originates in the macro `retry` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking structs_enums_and_pattern_matching v0.1.0 (/opt/rustwide/workdir/05_structs_enums_and_pattern_matching)
[INFO] [stdout] warning: variant `Warn` is never constructed
[INFO] [stdout]    --> 23_oop_in_rust/src/bin/polymorphism.rs:363:23
[INFO] [stdout]     |
[INFO] [stdout] 363 | enum LogLevel { Info, Warn, Error }
[INFO] [stdout]     |      --------         ^^^^
[INFO] [stdout]     |      |
[INFO] [stdout]     |      variant in this enum
[INFO] [stdout]     |
[INFO] [stdout]     = note: `LogLevel` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RawPtr` is never constructed
[INFO] [stdout]    --> 13_concurrency_threads_and_channels/src/bin/send_sync.rs:264:8
[INFO] [stdout]     |
[INFO] [stdout] 264 | struct RawPtr(*mut i32);
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `South`, `East`, and `West` are never constructed
[INFO] [stdout]   --> 05_structs_enums_and_pattern_matching/src/bin/enums.rs:40:5
[INFO] [stdout]    |
[INFO] [stdout] 38 | enum Direction {
[INFO] [stdout]    |      --------- variants in this enum
[INFO] [stdout] 39 |     North,
[INFO] [stdout] 40 |     South,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 41 |     East,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 42 |     West,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Direction` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Green` and `Blue` are never constructed
[INFO] [stdout]   --> 05_structs_enums_and_pattern_matching/src/bin/enums.rs:61:9
[INFO] [stdout]    |
[INFO] [stdout] 59 |     enum Color {
[INFO] [stdout]    |          ----- variants in this enum
[INFO] [stdout] 60 |         Red   = 1,
[INFO] [stdout] 61 |         Green = 2,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 62 |         Blue  = 4,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Color` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `2` is never read
[INFO] [stdout]   --> 05_structs_enums_and_pattern_matching/src/bin/enums.rs:76:24
[INFO] [stdout]    |
[INFO] [stdout] 76 |     Triangle(f64, f64, f64), // base, height, hypotenuse
[INFO] [stdout]    |     --------           ^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Shape` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 76 -     Triangle(f64, f64, f64), // base, height, hypotenuse
[INFO] [stdout] 76 +     Triangle(f64, f64, ()), // base, height, hypotenuse
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Object` is never constructed
[INFO] [stdout]    --> 05_structs_enums_and_pattern_matching/src/bin/enums.rs:263:9
[INFO] [stdout]     |
[INFO] [stdout] 257 |     enum JsonValue {
[INFO] [stdout]     |          --------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 263 |         Object(std::collections::HashMap<String, JsonValue>),
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `JsonValue` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `data` is never read
[INFO] [stdout]    --> 02_syntax_and_basic_types/src/bin/constants_statics.rs:136:9
[INFO] [stdout]     |
[INFO] [stdout] 135 |     struct Matrix<const R: usize, const C: usize> {
[INFO] [stdout]     |            ------ field in this struct
[INFO] [stdout] 136 |         data: [[f64; C]; R],
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::Display as Displayable`
[INFO] [stdout]   --> 10_modules_crates_and_workspaces/src/bin/modules.rs:59:5
[INFO] [stdout]    |
[INFO] [stdout] 59 | use std::fmt::Display as Displayable;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0369]: binary operation `==` cannot be applied to type `Result<i32, AppError>`
[INFO] [stdout]    --> 05_structs_enums_and_pattern_matching/src/bin/option_result.rs:239:9
[INFO] [stdout]     |
[INFO] [stdout] 239 |         assert_eq!(parse_score("75"), Ok(75));
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         Result<i32, AppError>
[INFO] [stdout]     |         Result<i32, AppError>
[INFO] [stdout]     |
[INFO] [stdout] note: an implementation of `PartialEq` might be missing for `AppError`
[INFO] [stdout]    --> 05_structs_enums_and_pattern_matching/src/bin/option_result.rs:151:1
[INFO] [stdout]     |
[INFO] [stdout] 151 | enum AppError {
[INFO] [stdout]     | ^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stdout] help: consider annotating `AppError` with `#[derive(PartialEq)]`
[INFO] [stdout]     |
[INFO] [stdout] 151 + #[derive(PartialEq)]
[INFO] [stdout] 152 | enum AppError {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `A` is never constructed
[INFO] [stdout]    --> 05_structs_enums_and_pattern_matching/src/bin/pattern_matching.rs:178:18
[INFO] [stdout]     |
[INFO] [stdout] 178 |     enum Inner { A, B(i32) }
[INFO] [stdout]     |          -----   ^
[INFO] [stdout]     |          |
[INFO] [stdout]     |          variant in this enum
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Inner` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Y` is never constructed
[INFO] [stdout]    --> 05_structs_enums_and_pattern_matching/src/bin/pattern_matching.rs:181:28
[INFO] [stdout]     |
[INFO] [stdout] 181 |     enum Outer { X(Inner), Y }
[INFO] [stdout]     |          -----             ^
[INFO] [stdout]     |          |
[INFO] [stdout]     |          variant in this enum
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Outer` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `cols` is never read
[INFO] [stdout]    --> 23_oop_in_rust/src/bin/operator_overloading.rs:373:5
[INFO] [stdout]     |
[INFO] [stdout] 370 | struct Matrix {
[INFO] [stdout]     |        ------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 373 |     cols: usize,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `bounding_box` is never used
[INFO] [stdout]    --> 06_traits_generics_and_impl_blocks/src/bin/traits.rs:137:8
[INFO] [stdout]     |
[INFO] [stdout] 135 | trait Drawable {
[INFO] [stdout]     |       -------- method in this trait
[INFO] [stdout] 136 |     fn draw(&self);
[INFO] [stdout] 137 |     fn bounding_box(&self) -> (f64, f64, f64, f64); // x, y, w, h
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0369`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `structs_enums_and_pattern_matching` (bin "option_result" test) due to 1 previous error
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> 06_traits_generics_and_impl_blocks/src/bin/advanced_traits.rs:78:14
[INFO] [stdout]    |
[INFO] [stdout] 78 | struct Email(String);
[INFO] [stdout]    |        ----- ^^^^^^
[INFO] [stdout]    |        |
[INFO] [stdout]    |        field in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout]    = note: `Email` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `x` and `y` are never read
[INFO] [stdout]   --> 03_ownership_borrowing_and_moves/src/bin/copy_clone.rs:93:5
[INFO] [stdout]    |
[INFO] [stdout] 92 | struct Point {
[INFO] [stdout]    |        ----- fields in this struct
[INFO] [stdout] 93 |     x: f64,
[INFO] [stdout]    |     ^
[INFO] [stdout] 94 |     y: f64,
[INFO] [stdout]    |     ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Point` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name`, `x`, and `y` are never read
[INFO] [stdout]    --> 03_ownership_borrowing_and_moves/src/bin/copy_clone.rs:100:5
[INFO] [stdout]     |
[INFO] [stdout]  99 | struct NamedPoint {
[INFO] [stdout]     |        ---------- fields in this struct
[INFO] [stdout] 100 |     name: String,  // String is not Copy
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 101 |     x: f64,
[INFO] [stdout]     |     ^
[INFO] [stdout] 102 |     y: f64,
[INFO] [stdout]     |     ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `NamedPoint` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: incorrect NaN comparison, NaN cannot be directly compared to itself
[INFO] [stdout]   --> 02_syntax_and_basic_types/src/bin/scalar_types.rs:77:32
[INFO] [stdout]    |
[INFO] [stdout] 77 |     println!("NaN == NaN: {}", f64::NAN == f64::NAN); // false! same as C#
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(invalid_nan_comparisons)]` on by default
[INFO] [stdout] help: use `f32::is_nan()` or `f64::is_nan()` instead
[INFO] [stdout]    |
[INFO] [stdout] 77 -     println!("NaN == NaN: {}", f64::NAN == f64::NAN); // false! same as C#
[INFO] [stdout] 77 +     println!("NaN == NaN: {}", f64::NAN.is_nan()); // false! same as C#
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "c758e264d3a5b761a8d49ade8b6ba860b5b4d9fb8edd3ec88058e1a41b115c4e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c758e264d3a5b761a8d49ade8b6ba860b5b4d9fb8edd3ec88058e1a41b115c4e", kill_on_drop: false }`
[INFO] [stdout] c758e264d3a5b761a8d49ade8b6ba860b5b4d9fb8edd3ec88058e1a41b115c4e
